Using the Intel® C++ Compiler
Follow the steps in this topic to use the Intel® C++ Compiler with Microsoft Visual Studio.
NOTE: When you install the Intel C++ Compiler, it detects Microsoft Visual Studio and integrates itself with Visual Studio. After the installation has been completed, you have access to the Intel C++ Compiler from within Visual Studio without the need for any additional configuration steps.
Supported Intel Compiler Versions
The following Intel Compiler versions have been tested and are supported by RTX64:
- Intel Compiler 17.0.1 (as shipped with Intel Parallel Studio XE 2017 Update 1; tested)
- Intel Compiler 16.0 (tested)
- Intel Compiler 15.0.3 (tested; does not work with Visual Studio 2015)
- Intel Compiler 14.0.3 (tested)
- Intel Compiler XE 13.0 (not tested)
- Intel Compiler XE 13.1 (not tested)
Using the Intel C++ Compiler
To use the Intel C++ Compiler within the Visual Studio IDE
- Create a Visual C++ project, or open your existing project
NOTE: In order for Intel® to compile an RTSS application, it must include the C-Runtime options during project creation through the RTX64 Application template.
- In the Solution Explorer, select the project or projects you want to build with the Intel C++ Compiler and click the Use Intel(R) C++ toolbar button.
- Add the options. Open the Project Property page:
- Add compiler options to the Additional Options field
or
select the options from Intel Specific fields.
- Under Linker > Input > Include Additional Libraries, add libircmt.lib
NOTE: For a complete list of options see Compiler and Linker Options.
- Rebuild the project or solution in the same way as with any other Visual C++ project.
Using Intel® Integrated Performance Primitives (IPP)
To use Intel® IPP with the Intel® Compiler, you must first follow the steps above, and then follow the instructions available from the Intel Website: http://software.intel.com/en-us/articles/introduction-to-linking-with-the-intel-ipp-70-library
Building RTSSDebug and RTSSRelease Configurations
There is an additional step required to build using the RTSSDebug and RTSSRelease configurations. By default, the Ignore All default libraries option is enabled in RTSS projects. This is so we can control which libraries get used, to ensure that the code being used is compatible for RTSS. As a result, pragma calls will not be honored, and the file IPP.h will not be able to automatically link in the right libraries. To resolve this, follow these steps:
- Open the Property Pages dialog for the project (right-click and then choose Properties).
- Ensure that you have set the IPPROOT environmental variable.
- Under Configuration Properties, click C/C++ > General, and then add the following to the Additional Include Directories:
$(IPPROOT)\include
. - Click Linker > General, and then add the following to the Additional Library Directories:
$(IPPROOT)\lib\intel64;
- Since we do not support openmp, we cannot support the Intel® Parallel Optimization Compiler options. Only the static single threaded library calls should be included. Click Linker > Input, and then add the following to the Additional Dependencies:
Required
ippcore_l.lib;
Required per situational use of IPP
ippcc_l.lib;ippch_l.lib;ippcv_l.lib;ippdc_l.lib;ippdi_l.lib;ippi_l.lib;ippj_l.lib;ippm_l.lib;ippr_l.lib;ipps_l.lib;ippsc_l.lib;ippvc_l.lib;ippvm_l.lib
See the Intel documentation for information on which .lib
files are required by which API functions.
Tested IPP Functionality
The IPP functionality listed below has been tested for this release:
Signal Processing
- Support
- Initialization
- Essential vector
- Filtering
- Transform
- Data integrity
- String
- Vector Arithmetic
Image Processing
- Image Arithmetic and Logical
Small Matrices and Realistic Rendering
- Utility
- Vector Algebra
- Matrix Algebra
- Linear Systems Solution
- Least Squares Problem
- Eigenvalue Problem
- Mathfunctions for two dimensional three dimensional and four dimensional Vectors